In today's high-tech, fast-paced, hyper-connected world, people are spending more and more time on the internet to complete more of their daily activities such as online banking and shopping. The convenience afforded by the access and availability of the online world is, however, not without drawbacks. This increased access has brought with it an unparalleled growth in online fraudulent activity.
Conventional approaches to fraud detection use a third party server to store historical login attempt data and generate risk scores based on the historical login attempt data. For example, when a web server of an online bank receives a login attempt that involves a user's account, the web server may send the features describing the login attempt (e.g., geolocation, login time, hostname, autonomous system number/name, country of origin) to the third party server. The third party server then inputs the features and the user's historical login attempt data into a risk model that outputs a risk score. The third party server sends the risk score to the web server so that the web server may grant or deny access to the user's account.
Unfortunately, there are deficiencies with the above-described conventional approaches to fraud detection. For example, there are potential liabilities that come with storing sensitive information such as historical login attempt data in the raw form needed as input into risk models. Along these lines, many clients of a third party fraud detection service would rather not send sensitive information in raw form. Further, certain regulations prohibit the export of such sensitive information to third parties.
One way to address this issue is to have a client of the third party service encrypt the data. In fact, there are methods by which data analytics queries may be performed on encrypted data, such as fully homomorphic encryption. However, the large scale of the computations involved in a typical data analytics query makes performing queries on fully encrypted query data complex.
It is, therefore, necessary to reduce the complexity involved in the processing of encrypted data while at the same time maintaining confidence that the results of such processing can be relied on to detect fraud.